package com.xie.smfs.registry;

import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import com.xie.smfs.Smfs;

import com.xie.smfs.effect.GhostKnockEffect;
import com.xie.smfs.effect.KnockingCurseEffect;
import com.xie.smfs.effect.StarvingGhostCurseEffect;
import com.xie.smfs.effect.SpiritSurgeStatusEffect;
import com.xie.smfs.effect.RedGhostDomainEffect;
import com.xie.smfs.effect.ThickFogEffect;
import com.xie.smfs.effect.FatalPoisonEffect;

public class ModEffects {
    // 敲门鬼相关效果
    public static final StatusEffect KNOCKING_CURSE = new KnockingCurseEffect();
    public static final StatusEffect GHOST_KNOCK = new GhostKnockEffect();
    public static final StatusEffect LOST = new LostStatusEffect();
    public static final StatusEffect STARVING_GHOST_CURSE = new StarvingGhostCurseEffect();
    // 灵异奔涌效果
    public static final StatusEffect SPIRIT_SURGE = new SpiritSurgeStatusEffect();
    public static final StatusEffect RED_GHOST_DOMAIN = new RedGhostDomainEffect();
    public static final StatusEffect RED_GHOST_DOMAIN_TARGET = new RedGhostDomainEffect();
    public static final StatusEffect THICK_FOG = new ThickFogEffect();
    public static final StatusEffect FATAL_POISON = new FatalPoisonEffect();

    public static void registerEffects() {
        Registry.register(Registries.STATUS_EFFECT, new Identifier(Smfs.MOD_ID, "knocking_curse"), KNOCKING_CURSE);
        Registry.register(Registries.STATUS_EFFECT, new Identifier(Smfs.MOD_ID, "ghost_knock"), GHOST_KNOCK);
        Registry.register(Registries.STATUS_EFFECT, new Identifier(Smfs.MOD_ID, "lost"), LOST);
        Registry.register(Registries.STATUS_EFFECT, new Identifier(Smfs.MOD_ID, "starving_ghost_curse"), STARVING_GHOST_CURSE);
        Registry.register(Registries.STATUS_EFFECT, new Identifier(Smfs.MOD_ID, "spirit_surge"), SPIRIT_SURGE);
        Registry.register(Registries.STATUS_EFFECT, new Identifier(Smfs.MOD_ID, "red_ghost_domain"), RED_GHOST_DOMAIN);
        Registry.register(Registries.STATUS_EFFECT, new Identifier(Smfs.MOD_ID, "red_ghost_domain_target"), RED_GHOST_DOMAIN_TARGET);
        Registry.register(Registries.STATUS_EFFECT, new Identifier(Smfs.MOD_ID, "thick_fog"), THICK_FOG);
        Registry.register(Registries.STATUS_EFFECT, new Identifier(Smfs.MOD_ID, "fatal_poison"), FATAL_POISON);
    }
}